aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/[username]
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-01-07 23:15:04 -0800
committerAdam Soltys <[email protected]>2023-01-07 23:15:04 -0800
commit17d2c4b23f6ec1857a486872e1d156a62fdb3cca (patch)
treef816bf66ac7575fddb7b794d3cfdf902d57daefd /src/routes/(app)/[username]
parent88f25bb416e202d9480de56189d1b09f4804f749 (diff)
downloadcoinos-ui-17d2c4b23f6ec1857a486872e1d156a62fdb3cca.tar.gz
coinos-ui-17d2c4b23f6ec1857a486872e1d156a62fdb3cca.zip
tx page
Diffstat (limited to 'src/routes/(app)/[username]')
-rw-r--r--src/routes/(app)/[username]/transactions/[...page]/+page.svelte117
1 files changed, 62 insertions, 55 deletions
diff --git a/src/routes/(app)/[username]/transactions/[...page]/+page.svelte b/src/routes/(app)/[username]/transactions/[...page]/+page.svelte
index 2ea151d5..89207134 100644
--- a/src/routes/(app)/[username]/transactions/[...page]/+page.svelte
+++ b/src/routes/(app)/[username]/transactions/[...page]/+page.svelte
@@ -13,6 +13,11 @@
let { start, end, user } = data;
let change = ({ target: { value } }) => goto(value);
+ let link = (tx) => {
+ if (tx.redeemcode) return `/voucher/${tx.redeemcode}`;
+ if (tx.with) return '/' + tx.with.username;
+ return `/tx/${tx.hash}`;
+ };
let presets = [
{ title: $t('transactions.day'), start: sub(new Date(), { days: 1 }), end: null },
@@ -101,75 +106,77 @@
<div class="text-base">
{#each $txns as tx}
- <div class="grid grid-cols-3 border-b h-24">
- <div class="whitespace-nowrap my-auto">
- <div class="font-bold">
- {f(tx.amount * (tx.rate / sats), tx.currency)}
+ <a href={link(tx)}>
+ <div class="grid grid-cols-3 border-b h-24 hover:bg-gray-100 px-4">
+ <div class="whitespace-nowrap my-auto">
+ <div class="font-bold">
+ {f(tx.amount * (tx.rate / sats), tx.currency)}
- {#if tx.tip}
- <span class="text-sm">
- +{f(tx.tip * (tx.rate / sats), tx.currency)}
- </span>
- {/if}
- </div>
+ {#if tx.tip}
+ <span class="text-sm">
+ +{f(tx.tip * (tx.rate / sats), tx.currency)}
+ </span>
+ {/if}
+ </div>
- <div class="text-secondary">
- {sat(tx.amount)}
+ <div class="text-secondary">
+ {sat(tx.amount)}
- {#if tx.tip}
- <span class="text-sm">
- +{sat(tx.tip)}
- </span>
- {/if}
+ {#if tx.tip}
+ <span class="text-sm">
+ +{sat(tx.tip)}
+ </span>
+ {/if}
+ </div>
</div>
- </div>
- <div class="flex my-auto">
- {#if tx.redeemcode}
- <a href={`/voucher/${tx.redeemcode}`}>
- <div class="text-secondary flex">
- <div class="my-auto mr-1">
- <img src="/icons/logo-symbol.svg" class="w-12 border-4 border-white" />
+ <div class="flex my-auto">
+ {#if tx.redeemcode}
+ <a href={`/voucher/${tx.redeemcode}`}>
+ <div class="text-secondary flex">
+ <div class="my-auto mr-1">
+ <img src="/icons/logo-symbol.svg" class="w-12 border-4 border-transparent" />
+ </div>
+
+ <div class="my-auto">Voucher</div>
+ </div>
+ </a>
+ {:else if tx.with}
+ <a href={`/${tx.with.username}`}>
+ <div class="flex">
+ <div class="my-auto">
+ <Avatar user={tx.with} size={12} />
+ </div>
+ <div class="my-auto ml-1 text-secondary">{tx.with.username}</div>
</div>
+ </a>
+ {:else}
+ <div class="text-secondary flex">
+ {#if tx.network === 'lightning'}
+ <div class="text-3xl">⚡️</div>
+ {:else}
+ <div class="my-auto mr-1">
+ <img src="/images/bitcoin.svg" class="w-12 border-4 border-transparent" />
+ </div>
+ {/if}
- <div class="my-auto">Voucher</div>
- </div>
- </a>
- {:else if tx.with}
- <a href={`/${tx.with.username}`}>
- <div class="flex">
<div class="my-auto">
- <Avatar user={tx.with} size={12} />
+ {tx.amount > 0 ? (tx.confirmed ? 'Received' : 'Pending') : 'Sent'}
</div>
- <div class="my-auto ml-1 text-secondary">{tx.with.username}</div>
</div>
- </a>
- {:else}
- <div class="text-secondary flex">
- {#if tx.network === 'lightning'}
- <div class="text-3xl">⚡️</div>
- {:else}
- <div class="my-auto mr-1">
- <img src="/images/bitcoin.svg" class="w-12 border-4 border-white" />
- </div>
- {/if}
+ {/if}
+ </div>
- <div class="my-auto">
- {tx.amount > 0 ? (tx.confirmed ? 'Received' : 'Pending') : 'Sent'}
- </div>
+ <div class="text-secondary text-right text-sm my-auto">
+ <div>
+ {format(parseISO(tx.createdAt), 'h:mm aaa')}
+ </div>
+ <div>
+ {format(parseISO(tx.createdAt), 'MMM d')}
</div>
- {/if}
- </div>
-
- <div class="text-secondary text-right text-sm my-auto">
- <div>
- {format(parseISO(tx.createdAt), 'h:mm aaa')}
- </div>
- <div>
- {format(parseISO(tx.createdAt), 'MMM d')}
</div>
</div>
- </div>
+ </a>
{:else}
<p class="text-secondary text-lg text-center">{$t('transactions.empty')}</p>
{/each}